package src.C_io;

import java.io.*;

// 拷贝文件夹
public class Demo09 {
    public static void main(String[] args) {
        try {
            cv(new File("E:\\Project\\JavaSE\\src"), new File("E:\\a"));
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    public static void cv(File cfile, File vfile) throws IOException {
        // 0、不存在则创建文件夹，存在则拷贝到现有的文件夹
        vfile.mkdirs();
        // 1、拿所有文件
        File[] files = cfile.listFiles();
        // 2、遍历文件
        for (File file : files){
            if (file.isFile()){
                // 3、拷贝
                FileInputStream fis = new FileInputStream(file);
                FileOutputStream fos = new FileOutputStream(new File(vfile, file.getName()));
                int b;
                byte[] bytes = new byte[1024 * 1024 * 1];
                while ((b = fis.read(bytes)) != -1){
                    fos.write(bytes,0,b);
                }
                fos.close();
                fis.close();
            } else {
                cv(file, new File(vfile,file.getName()));
            }
        }
    }
}
